import java.util.Scanner;

// Tool类，用于判断一个数是否是水仙花数
class Tool {
    // 判断是否是水仙花数的方法
    public boolean isDaffodil(int num) {
        if (num < 100 || num > 999) {
            return false; // 如果不是三位数，直接返回false
        }
        int originalNum = num;
        int sum = 0;
        while (num > 0) {
            int digit = num % 10; // 获取个位数
            sum += Math.pow(digit, 3); // 计算立方和
            num /= 10; // 去掉个位数
        }
        return sum == originalNum; // 判断立方和是否等于原数
    }
}

// Main类
public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 输入一个整数
        int num = scanner.nextInt();

        // 创建Tool对象
        Tool tool = new Tool();

        // 判断输入的数是否是水仙花数
        if (num < 100 || num > 999) {
            System.out.println("error"); // 如果不是三位数，输出error
        } else {
            if (tool.isDaffodil(num)) {
                System.out.println("yes"); // 如果是水仙花数，输出yes
            } else {
                System.out.println("no"); // 否则输出no
            }
        }

        // 输出所有的三位水仙花数
        for (int i = 100; i <= 999; i++) {
            if (tool.isDaffodil(i)) {
                System.out.println(i);
            }
        }

        scanner.close();
    }
}